home *** CD-ROM | disk | FTP | other *** search
/ United Public Domain Gold 2 / United Public Domain Gold 2.iso / utilities / pu004b.dms / pu004b.adf / Doc / UndefinedOpcodes.doc < prev    next >
Text File  |  1993-10-19  |  3KB  |  89 lines

  1. UNDEFINED OPCODES
  2.  
  3. The 6510 microprocessor has 105 undefined opcodes.  To fully emulate the
  4. 6510 microprocessor, A64 also emulates these opcodes.  There is no official
  5. documentation on these opcodes and the limited amount of information that
  6. does exist, is very inconsistent.  We compared all known sources of
  7. information and did rigorous testing.  We found that most of the undefined
  8. opcodes proved to act consistently.  However, there are some, that either
  9. behaved differently from what others have found, or the results were so
  10. unpredictable, that emulation proved to be very difficult.  These "problem"
  11. opcodes are listed with an * by their numbers in the table below.  If anyone
  12. has information that conflicts with what we have found, or a C64 program that
  13. is not working as a direct result of improper emulation, we would greatly
  14. appreciate hearing about it.
  15.  
  16.  
  17. OPCODE    ABS    ABS,X    ABS,Y    ZERO    ZERO,X    ZERO,Y    (IND,X)    (IND),Y    IMMED
  18. -----------------------------------------------------------------------------
  19. ASO     0F    1F    1B    07    17        03    13    
  20. RLA    2F    3F    3B    27    37        23    33
  21. LSE    4F    5F    5B    47    57        43    53    
  22. RRA    6F    7F    7B    67    77        63    73    
  23. AXS    8F*        9F*    87*        97*    83*    93*
  24. LAX    AF        BF    A7    B7        A3    B3    AB    
  25. DCM    CF    DF    DB    C7    D7        C3    D3    
  26. INS    EF    FF    FB    E7    F7        E3    F3    
  27. ANC    (identical to 2B)                        0B
  28. ANC    (identical to 0B)                        2B
  29. ALR                                    4B
  30. ARR                                    6B*
  31. XMA                                    8B*
  32. XAA            9B*
  33. YAS        9C*
  34. XAS            9E*
  35. LSA            BB*
  36. SAX                                    CB
  37. SBC    (identical to E9)                        EB
  38.  
  39.  
  40. IMPLIED INSTRUCTIONS
  41. --------------------
  42. CRP    02, 12, 22, 32, 42, 52, 62, 72, 92, B2, D2, F2 
  43. NOP    1A, 3A, 5A, 7A, DA, FA
  44. SKB    04, 14, 34, 44, 54, 64, 74, 80, 82, 89, C2, D4, E2, F4
  45. SKW    0C, 1C, 3C, 5C, 7C, DC, FC
  46.  
  47.  
  48. DEFINITIONS
  49. -----------
  50. ASO: ASL then ORA result with A
  51. RLA: ROL then AND result with A
  52. LSE: LSR then EOR result with A
  53. RRA: ROR then ADC result with A
  54. AXS: Store A AND X
  55. LAX: LDA and LDX with same data
  56. DCM: DEC memory then CMP result with A
  57. INS: INC memory then SBC result from A
  58. ANC: AND A with #xx, C = bit 7 of result
  59. ALR: AND A with #xx then LSR result
  60. ARR: AND A with #xx, C = bit 7 of result, ROR using C before AND
  61. XMA: A = X AND #$xx
  62. XAA: SP = A AND X, M = SP AND #$01
  63. YAS: Y AND M, STY
  64. XAS: X AND M, STX
  65. LSA: LDA data, TAX, TXS
  66. SAX: X = X AND A then sub #xx from X
  67. SBC: Identical to opcode E9 (normal SBC #)
  68. CRP: Crash Processor
  69. NOP: No Operation
  70. SKB: Skip Byte (Branch +1)
  71. SKW: Skip Word (Branch +2)
  72.  
  73.  
  74. OTHER SOURCES OF INFORMATION
  75. ----------------------------
  76. The Transactor, Volume 6, Issue 03
  77.     Hidden Op-Codes, by Jim McLaughlin
  78.  
  79. The Transactor, Volume 6, Issue 05
  80.     6510 Opcodes, by Raymond Quirling        
  81.     The Undocumented 6500 Series Instructions: A Summary, by Noel Nyman
  82.  
  83. Programming the Commodore 64, The Definitive Guide, by Raeto Collin West
  84.  
  85. 64 Intern, Data Becker
  86.  
  87. 64'er, March 1985
  88.  
  89.